package com.kaili.basic.mapper;


import com.baomidou.mybatisplus.plugins.Page;
import com.kaili.basic.pojo.dto.MdmMessageQueryDto;
import com.kaili.basic.pojo.dto.MdmMessageUpdateDto;
import com.kaili.basic.pojo.entity.MdmMessage;
import com.kaili.basic.pojo.entity.MdmMessageExport;
import com.kaili.basic.pojo.vo.MdmMessageVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;


/**
 * @Desc: mdm消息mapper层
 * @author: dengmengna
 * @Time: 2019/7/26 9:54
 * @Copyright: © 2018 杭州凯立通信有限公司 版权所有
 * @Warning: 本内容仅限于公司内部传阅,禁止外泄或用于其它商业目的
 */

@Mapper
public interface MessageMapper {
    /**
    * @Desc:  添加mdm消息
    * @author: dengmengna
    * @Time: 2019/7/26 9:53
    * @param mdmMessage
    * @return int 
    */
    int addMdmMessage(MdmMessage mdmMessage);

    /**
    * @Desc:  删除单个mdm消息
    * @author: dengmengna
    * @Time: 2019/7/26 9:55
    * @param mdmMessage
    * @return int
    */
    int deleteMdmMessage(MdmMessage mdmMessage);

    /**
    * @Desc:  批量删除mdm消息
    * @author: dengmengna
    * @Time: 2019/7/26 9:55
    * @param map
    * @return int
    */
    int deleteMdmMessages(Map<String, Object> map);

    /**
    * @Desc:  修改单个mdm消息
    * @author: dengmengna
    * @Time: 2019/7/26 9:55
    * @param mdmMessageUpdateDto
    * @return int
    */
    int updateMdmMessage(MdmMessageUpdateDto mdmMessageUpdateDto);

    /**
    * @Desc:  批量修改mdm消息
    * @author: dengmengna
    * @Time: 2019/7/26 9:56
    * @param map
    * @return int
    */
    int updateMdmMessages(Map<String, Object> map);

    /**
    * @Desc:  条件查询获取mdm消息
    * @author: dengmengna
    * @Time: 2019/7/26 9:56
    * @param page
    * @param mdmMessageQueryDto
    * @return java.util.List<com.kaili.basic.pojo.vo.MdmMessageVO>
    */
    List<MdmMessageVO> queryMdmMessage(Page<MdmMessageVO> page, MdmMessageQueryDto mdmMessageQueryDto);

    /**
    * @Desc:  id查询获取mdm消息信息
    * @author: dengmengna
    * @Time: 2019/7/26 9:57
    * @param id
    * @return com.kaili.basic.pojo.entity.MdmMessage
    */
    MdmMessageVO queryMdmMessageById(Long id);

    /**
    * @Desc:  mdm消息导出
    * @author: dengmengna
    * @Time: 2019/7/26 9:57
    * @param mdmMessageQueryDto
    * @return java.util.List<com.kaili.basic.pojo.entity.MdmMessageExport>
    */
    List<MdmMessageExport> queryMdmMessageExport(MdmMessageQueryDto mdmMessageQueryDto);

    /**
    * @Desc:  查询消息通过sn和当前时间
    * @author: dengmengna
    * @Time: 2019/8/9 19:03
    * @param SN
    * @return java.util.List<com.kaili.basic.pojo.vo.MdmMessageVO>
    */
    List<MdmMessageVO> queryMessageBySN(Long SN);
}
